﻿#ifndef _OI_PLSCANNERCORE_PAGEABSTRACT_HPP_
#define _OI_PLSCANNERCORE_PAGEABSTRACT_HPP_

#include "Appl/OiAppl.hpp"
#include "PLScannerCore/OiPLScannerDefined.hpp"

namespace Oi
{
    namespace PLScannerCore
    {
        struct DataRow;
        class ProductParams;

        class OI_PLSCANNER_CORE_API PageAbstract : public QWidget
        {
            Q_OBJECT

        public:
            PageAbstract(QWidget * parent = nullptr);

        public:
            virtual void setData(const DataRow& data) = 0;
            virtual void setParams(const ProductParams& params) = 0;
            virtual void setCurve(const QMap<QString, OiProfile>& curves) {};
            virtual void setProfile(const OiProfiles & profile) {};
            virtual void run(bool flag) = 0;
        };
    }
}
#endif
